A redundant array of independent disks (RAID) significantly increases data throughput of a storage system by storing and reading data simultaneously on a plurality of disks. The rate attained using the RAID can be several times, tens of times or even hundreds of times greater than the rate of a single disk drive. A mapped RAID is a new RAID technology. Unlike the traditional RAID, the mapped RAID is created on top of a disk pool, instead of being created on several specific disks. A disk in the disk pool is divided into a series of fixed-sized, non-overlapping segments which are referred to as disk extents. A logical space of the mapped RAID is divided into a bunch of continuous, non-overlapping segments which are referred to as RAID extents. Each RAID extent consists of a plurality of disk extents selected from different disks based on a RAID policy. As compared with the traditional RAID, the mapped RAID has several advantages, such as capability of being rebuilt more rapidly, support of a single drive extension and support of drives of mixed sizes in a disk pool.
Currently, a so-called neighborhood matrix algorithm is used when the mapped RAID is created, to enable the RAID extents in the created RAID to be distributed evenly in a disk pool as much as possible. However, the RAID created through the neighborhood matrix algorithm, after serving input and output (IO) for a period of time, may cause life cycles of certain disks in the disk pool to be terminated, thereby resulting in data loss.